<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
    <script>
      // es6的继承
      // 
          class Father{
              constructor(name,age){
                  this.name=name;
                  this.age=age;
              }
              say(word){
                console.log(this.name+"你好"+word)
              }
              run(){
                console.log("跑")
              }
              static eat(){
                console.log("吃")
              }

          }
          //1. es6的继承 首先 （子类 extends 父类）
          //2. 通过extends关键字继承，在构造函数里面调用super()方法可以继承到父类所有的属性和方法
          // 3.super方法 必须放在构造器函数的最上面
          // 4. super不传参 或继承父类的属性的默认值
          class Son extends Father{
            constructor(hobby,sex){
              // 使用super(参数)完成继承并给父类传参
                super('王德法',30)
                // 5.super可以直接调用
                // 代表了父类的原型 prototype
                console.log(super.say("你好"))
                this.hobby=hobby;
                this.sex=sex;
           
            }
            sing(){
              console.log("唱歌")
            }
          }
          let son1=new Son("喝酒","男");
          son1.sing()
          // 继承完成后调用父类的方法和属性
          son1.say("世界")
          console.log(son1.name)
          Father.eat()//
          Son.eat()  //继承父类的静态方法
    </script>
</body>
</html>